/*
 * Movement.h
 *
 *  Created on: 06/05/2011
 *      Author: DessaVida
 */

#ifndef MOVEMENT_H_
#define MOVEMENT_H_

#include "Component.h"
#include "core/FPS.h"
#include "Position.h"
#include "entity/Controller.h"

#include <cmath>

class Movement : public Component{
	int moveX;
	int moveY;

	int speed;
	int runSpeed;

	int currentSpeed;
	double dMoveX;
	double dMoveY;

	bool running;
public:
	Movement(int id, int speed, int runSpeed);
	virtual ~Movement();
	void set(Controller *controller);
	Point2D move();
	/*
	 * Getters and Setters
	 */
	bool getRunning() const;
    void setRunning(bool running);
    int getMoveX() const;
    int getMoveY() const;
    void setMoveX(int moveX);
    void setMoveY(int moveY);
};

#endif /* MOVEMENT_H_ */
